package com.zhonghui.modlules.product.eshopParam;

import com.eshop.param.QueryParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel(
        value = "YxStoreProductQueryParam对象",
        description = "商品表查询参数"
)
public class StoreProductQueryParam extends QueryParam {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("类别")
    private String type;
    @ApiModelProperty("分类ID")
    private String sid;
    @ApiModelProperty("是否新品")
    private String news;
    @ApiModelProperty("是否积分兑换商品")
    private Integer isIntegral;
    @ApiModelProperty("价格排序")
    private String priceOrder;
    @ApiModelProperty("销量排序")
    private String salesOrder;
    @ApiModelProperty("关键字")
    private String keyword;

    public StoreProductQueryParam() {
    }

    public String getType() {
        return this.type;
    }

    public String getSid() {
        return this.sid;
    }

    public String getNews() {
        return this.news;
    }

    public Integer getIsIntegral() {
        return this.isIntegral;
    }

    public String getPriceOrder() {
        return this.priceOrder;
    }

    public String getSalesOrder() {
        return this.salesOrder;
    }

    public String getKeyword() {
        return this.keyword;
    }

    public void setType(final String type) {
        this.type = type;
    }

    public void setSid(final String sid) {
        this.sid = sid;
    }

    public void setNews(final String news) {
        this.news = news;
    }

    public void setIsIntegral(final Integer isIntegral) {
        this.isIntegral = isIntegral;
    }

    public void setPriceOrder(final String priceOrder) {
        this.priceOrder = priceOrder;
    }

    public void setSalesOrder(final String salesOrder) {
        this.salesOrder = salesOrder;
    }

    public void setKeyword(final String keyword) {
        this.keyword = keyword;
    }

    public String toString() {
        return "StoreProductQueryParam(type=" + this.getType() + ", sid=" + this.getSid() + ", news=" + this.getNews() + ", isIntegral=" + this.getIsIntegral() + ", priceOrder=" + this.getPriceOrder() + ", salesOrder=" + this.getSalesOrder() + ", keyword=" + this.getKeyword() + ")";
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof StoreProductQueryParam)) {
            return false;
        } else {
           StoreProductQueryParam other = (StoreProductQueryParam)o;
            if (!other.canEqual(this)) {
                return false;
            } else if (!super.equals(o)) {
                return false;
            } else {
                label97: {
                    Object this$isIntegral = this.getIsIntegral();
                    Object other$isIntegral = other.getIsIntegral();
                    if (this$isIntegral == null) {
                        if (other$isIntegral == null) {
                            break label97;
                        }
                    } else if (this$isIntegral.equals(other$isIntegral)) {
                        break label97;
                    }

                    return false;
                }

                Object this$type = this.getType();
                Object other$type = other.getType();
                if (this$type == null) {
                    if (other$type != null) {
                        return false;
                    }
                } else if (!this$type.equals(other$type)) {
                    return false;
                }

                Object this$sid = this.getSid();
                Object other$sid = other.getSid();
                if (this$sid == null) {
                    if (other$sid != null) {
                        return false;
                    }
                } else if (!this$sid.equals(other$sid)) {
                    return false;
                }

                label76: {
                    Object this$news = this.getNews();
                    Object other$news = other.getNews();
                    if (this$news == null) {
                        if (other$news == null) {
                            break label76;
                        }
                    } else if (this$news.equals(other$news)) {
                        break label76;
                    }

                    return false;
                }

                Object this$priceOrder = this.getPriceOrder();
                Object other$priceOrder = other.getPriceOrder();
                if (this$priceOrder == null) {
                    if (other$priceOrder != null) {
                        return false;
                    }
                } else if (!this$priceOrder.equals(other$priceOrder)) {
                    return false;
                }

                Object this$salesOrder = this.getSalesOrder();
                Object other$salesOrder = other.getSalesOrder();
                if (this$salesOrder == null) {
                    if (other$salesOrder != null) {
                        return false;
                    }
                } else if (!this$salesOrder.equals(other$salesOrder)) {
                    return false;
                }

                Object this$keyword = this.getKeyword();
                Object other$keyword = other.getKeyword();
                if (this$keyword == null) {
                    if (other$keyword != null) {
                        return false;
                    }
                } else if (!this$keyword.equals(other$keyword)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof StoreProductQueryParam;
    }

    public int hashCode() {
        boolean PRIME = true;
        int result = super.hashCode();
        Object $isIntegral = this.getIsIntegral();
        result = result * 59 + ($isIntegral == null ? 43 : $isIntegral.hashCode());
        Object $type = this.getType();
        result = result * 59 + ($type == null ? 43 : $type.hashCode());
        Object $sid = this.getSid();
        result = result * 59 + ($sid == null ? 43 : $sid.hashCode());
        Object $news = this.getNews();
        result = result * 59 + ($news == null ? 43 : $news.hashCode());
        Object $priceOrder = this.getPriceOrder();
        result = result * 59 + ($priceOrder == null ? 43 : $priceOrder.hashCode());
        Object $salesOrder = this.getSalesOrder();
        result = result * 59 + ($salesOrder == null ? 43 : $salesOrder.hashCode());
        Object $keyword = this.getKeyword();
        result = result * 59 + ($keyword == null ? 43 : $keyword.hashCode());
        return result;
    }
}
